package basic.kotlin
/**
 * 隐式转换 与 字符串类型
 */

val aInt:Int= 6
val bLong:Long= aInt.toLong() // int整形转换为long类型需要显示转换,在kotlin中不支持隐式转换

val string: String = "HelloWorld"
val fromChars: String = String(charArrayOf('H','e','l','l','o','W','o','r','l','d'))

fun main(args: Array<String>) {
    println(bLong)
    println(string == fromChars)  // 双等号 比较内容 相当于java中的equals
    println(string === fromChars) // 三等号 比较引用 相当于java 中比较的引用的地址

    println("接下来我们要输出:" + string)

    val arg1: Int = 0
    val arg2: Int = 1
    println("" + arg1 + " + " + arg2 + " = " + (arg1 + arg2)) // java传统方式进行字符串拼接
    println("$arg1 + $arg2 = ${arg1 + arg2}") // 字符串模板进行字符拼接

    //Hello "Trump"
    val sayHello : String = "Hello \"Trump\""   // 双引号转义
    println(sayHello)
    //salary
    val salary: Int = 1000
    //$salary
    println("$$salary")
    println("\$salary")

    // 三个双引号的字符串原样输出,在这种字符串模板拼接时，\ 进行转义时不起作用
    val rawString: String = """
        \t
        \n
        $salary
        \$salary
      $ salary
    """
    println(rawString)
    println(rawString.length)
}